#ifndef xpack_memop_reverse
#define xpack_memop_reverse
#pragma push_macro("xuser")
#undef  xuser
#define xuser mixc::memop_reverse::inc
#include"define/base_type.hpp"
#include"dumb/move.hpp"
#include"macro/xexport.hpp"
#include"macro/xmodify.hpp"
#include"memop/swap.hpp"
#pragma pop_macro("xuser")

namespace mixc::memop_reverse::origin{
    template<class array_t>
    inline void reverse(array_t && target, uxx count) {
        for(uxx i = 0; i < count / 2; i++){
            inc::swap(xmodify(target[i]), xmodify(target[count - i - 1]));
        }
    }
}

#endif

xexport_space(mixc::memop_reverse::origin)